<meta charset='UTF-8'>
<canvas id='canvas'></canvas>
<script type="text/javascript">
	var webgl = canvas.getContext('webgl');
	var program = webgl.createProgram();
	var vs = webgl.createShader(webgl.VERTEX_SHADER);
	var fs = webgl.createShader(webgl.FRAGMENT_SHADER);
	var vs_s = 'attribute vec3 po;attribute vec3 co;varying vec3 co_v;void main(){co_v = co;gl_Position = vec4(po, 1.0);}';
	var fs_s = 'varying lowp vec3 co_v;void main(){gl_FragColor = vec4(co_v, 1.0);}';
	webgl.shaderSource(vs, vs_s);
	webgl.shaderSource(fs, fs_s);
	webgl.compileShader(vs);
	webgl.compileShader(fs);
	webgl.attachShader(program, vs);
	webgl.attachShader(program, fs);
	webgl.linkProgram(program);
	webgl.useProgram(program);

	var data = [-1,-1,0, 1,-1,0, 0,1,0, 0,0,0];
	data = new Float32Array(data);
	var buf = webgl.createBuffer();
	webgl.bindBuffer(webgl.ARRAY_BUFFER, buf);
	webgl.bufferData(webgl.ARRAY_BUFFER, data, webgl.STATIC_DRAW);
	var po = webgl.getAttribLocation(program, 'po');
	webgl.enableVertexAttribArray(po);
	webgl.vertexAttribPointer(po, 3, webgl.FLOAT, false, 0, 0);

	data = [1,0,0, 0,1,0, 0,0,1, 1,1,1];
	data = new Float32Array(data);
	buf = webgl.createBuffer();
	webgl.bindBuffer(webgl.ARRAY_BUFFER, buf);
	webgl.bufferData(webgl.ARRAY_BUFFER, data, webgl.STATIC_DRAW);
	var co = webgl.getAttribLocation(program, 'co');
	webgl.enableVertexAttribArray(co);
	webgl.vertexAttribPointer(co, 3, webgl.FLOAT, false, 0, 0);

	data = [0,1,3, 1,2,3, 0,2,3];
	data = new Uint16Array(data);
	buf = webgl.createBuffer();
	webgl.bindBuffer(webgl.ELEMENT_ARRAY_BUFFER, buf);
	webgl.bufferData(webgl.ELEMENT_ARRAY_BUFFER, data, webgl.STATIC_DRAW);

	webgl.drawElements(webgl.TRIANGLES, 9, webgl.UNSIGNED_SHORT, 0);
</script>